package com;

import com.exception.MyCustomException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author huyuan@tiduyun.com
*
*/
@Slf4j
@SpringBootApplication
public class DemoApplication {
    /**
    *  编程题
    */
    public static void main(String[] args){
        for (int i = 1; i <= 9; i++) {
            try {
                for (int g = 1; g <= i; g++) {
                    System.out.print(i+"*"+g+"="+(i*g)+"\t");
                }
                System.out.println();
            }catch (Exception e){
                log.error(MyCustomException.TEXT_EXCEPTION,e);
            }
        }
        /**
         * 1. int和Integer的区别是什么？
         * int 是基本数据类型  Integer是包装类
         * 2.==和equals()的区别是什么？
         * == 是不是两个值在同一空间内，equals()，一个空间是不是存在一个值
         * 3. Java中的循环有哪些实现方式？有哪些方法退出循环？
         * for循环 while循环 for增强循环(forecah)
         * break;退出循环   continue;重新循环
         * 4.Java中字符串拼接有哪些实现方式？分别在什么情况下使用？
         * +   , 打印中使用  条件中使用
         * 5. 你在以往的编码测试过程中常见的异常有哪些，分别表示什么？
         * 空指针   传输的值为空
         * 7. JRE、JDK、JVM分别是什么？
         * JRE是java运行环境，JDK是Java开发包,JVM是java虚拟机
         *
         */




        /**
         *     以下为欠缺知识，通过百度学习加上个人理解得来的答案
         *
         *     Java语言基础
         *     6. Object类的方法有哪些？分别是什么用途？
         *     clone方法 浅复制  getClass方法 获取运行时类型   toString方法 返回值
         *     finalize方法  释放资源  equals方法 Object中与==想同 两个值是不是在同一空间内
         *     hashCode方法  用于hash值的查找  wait方法  使当前线程等待当前对象的锁
         *     notifyAll方法  唤醒对象的等待线程
         *
         *     算法与数据结构基础
         *
         *     1. 数组与链表的区别是什么？
         *      数组是有序的  查找快  删除与插入速度慢   链表是无序的，查找慢，但插入更删除速度快
         *
         *     2. 搜索算法中的二分法如何实现？ （**重点知识**）
         *       int start = 0;//初始
         *     int end = arr.length-1;//末尾
         *     int m = (start+end)/2;//中间
         *     whlie(start<=end){
         *         if(arr[m]<k){
         *          start = m+1; // 这个值比中间值大的话  初始直接改成 中间+1的位置继续找
         *         }else if(arr[m]>k){
         *          end = m-1;  // 这个值比中间值小的话  末尾直接改成 中间-1的位置继续找
         *         }else {
         *          return m; //相等直接返回下标
         *         }
         *     }
         *
         *     面向对象基础
         *
         *     1. 面向对象三大要素是哪三大要素，分别是什么含义？
         *     多态 封装 继承
         *     多态， 如果操作的数据是数字，则是求和，如果操作的是字符串，则是将两个字符串链接
         *     封装， 将数据跟代码捆绑在一起
         *     继承， 子类继承父类
         *
         *     2. 接口和抽象类分别是什么，分别在什么场景下使用？
         *     接口可以有多个实现类，抽象类只能单继承。
         *     根据语法的不同来确认使用接口还是抽象类
         *
         *     Web开发基础题
         *     1. 什么是Cookie，通常用于什么场景？
         *     客户端产出Cookie  通常保存字符串  自动登录通常是Session从Cookie中获取信息数据，保存在Session中实现
         *
         *     2. 什么是用户会话，Web开发中用户会话有哪些实现方案？
         *     用户会话是不用第二次登陆，服务器会保存Cookie，直到服务器关闭，或者指定的时间内
         *
         *     3. JavaEE规范中，一个HTTP请求从发起请求到完成响应至少会产生哪些对象、经过哪些对象处理？（比如：会
         *     产生一个HttpServletRequest对象）
         *     *****（重点知识）*****
         *     这题找不到我认为的合理答案，我认为，有请求对象，也有会返回接收对象
         *
         *
         *
         *     开发框架基础题
         *     1. 什么是ORM框架，你了解的ORM框架有哪些，集成它们分别需要完成哪些步骤？
         *     看了这道题目，我才知道面对数据库的框架是ORM，我的认为就是映射数据库并操作数据库的框架！！！长知识了！！！！
         *     Mybatis  ibatis(Mybatis前身) Hibernate
         *     集成他们的步骤是导入Maven依赖，写好配置文件，生成对应的mapper文件，应该差不多了。
         *
         *
         *     2. 什么是设计模式？你了解的设计模式有哪些？分别用于什么场景？
         *     什么是设计模式  网上的解释是：设计模式在设计者是一种流行的思考设计问题的方法，是一套被反复使用，多数人知晓的，经过分类编目的，代码设计经验的总结。
         *     我的认为是，初学者都是按照现有的设计模式来学习，以便于更好的上手项目，以及快速的融入快发，知道每一层是用来开什么的。
         *
         *     我所了解的就是MVC了   M是模型层    V是视图层   C是控制层    M是存放逻辑实现的一层，V是前端提供页面的一层，C可以说是连接模型层视图层的一个连接线，用户数据的互相传输
         *
         *
         */
    }
}
